

extern int TblMult3[9];  // 3*i
extern int TblMult9[9];  // 9*i
extern byte Tblmod3[9];  // i%3
extern int TblOtherMask9[9] ;
//extern byte Tbloffset[81]; //i%9

extern int Tbldiv3[27]; //i/3
extern int TblMod9[81]; //i%9 cell to column
extern int  Tblstartblock[27];
extern int Tblofftorow[27]; 
extern int Tblofftobox[27] ;



extern byte Tbloffset[81]; // giving cell to offset in a band
extern byte TblBoard_Block[81]; // giving cell -> band 
extern byte TblCelltoBox[81];
extern byte TblCelltoRow[81];
extern byte TblCelltoUBox[81];// relative position in the box
extern byte TblCelltoUCol[81];// relative position in the box
extern byte BitCount[512] ;
extern byte TblBitToInd[512] ;
extern byte TblBitIndex[257] ; // directly index 0_8
extern byte Tblfirst0_8[512] ;

extern byte tv_string[1024];
extern word tv_strindex[256];

extern char *  empty_puzzle;
extern byte cellsInGroup[27][9];
extern byte miniline[54][3]; 
extern COMB9 tcomb9[255][2];
extern int indtcomb9[5];
extern word indtcomb9rev[512]; // reverse index C N,x to list
